/*************************************************************************
 * @file: solid.cpp
 * @date: 01/04/2012
 * TOPOL v1_0 - (c)copyright 2012 TEC/UFF
 *************************************************************************
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 ************************************************************************/

// includes
//----------
#include "solid.h"
#include <iostream>



///////////////////////////////////////////////////
///  Constructor and Destructor Implementation  ///
///////////////////////////////////////////////////

//-------------------------------------------------------------------------
Solid::Solid( Solid* _first )
: m_solidno( 0 )
, m_prevs( NULL )
, m_nexts( _first )
, m_sfaces( NULL )
, m_sedges( NULL )
, m_sverts( NULL )
{
	if( _first )
	{
		_first->m_prevs = this;
	}
  //_first = this;
}
//-------------------------------------------------------------------------



///////////////////////////////////////
///  PUBLIC Methods Implementation  ///
///////////////////////////////////////


//-------------------------------------------------------------------------
size_t 
Solid::getSolidno()
{
  return m_solidno;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
Solid* 
Solid::getNexts()
{
	return m_nexts;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
Face* 
Solid::getFace()
{
  return m_sfaces;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
Edge* 
Solid::getEdge()
{
  return m_sedges;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
Vertex* 
Solid::getVertex()
{
  return m_sverts;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
void 
Solid::setSolidno( size_t _s ) 
{
  m_solidno = _s;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
void 
Solid::setFace( Face* _face )
{
  m_sfaces = _face;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
void 
Solid::setEdge( Edge* _edge )
{
  m_sedges = _edge;
}
//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
void 
Solid::setVertex( Vertex* _vertex )
{
	m_sverts = _vertex;
}
//-------------------------------------------------------------------------
